The invention relates to video encoding, and more particularly to the use of parallel encoding techniques to improve speed or reduce artifacts or both.
Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, digital recording devices, digital media players, video gaming devices, video game consoles, cellular or satellite radio telephones, video teleconferencing devices, and the like. Digital video devices implement video compression techniques, such as those described in the standards defined by MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), and ITU-T H.265, High Efficiency Video Coding (HEVC) standard, and extensions of such standards, to transmit, receive and store digital video information more efficiently.
AVC is defined in ITU-T, Series H: Audiovisual And Multimedia Systems, Infrastructure of audiovisual services—Coding of moving video, Advanced video coding for generic audiovisual services, Recommendation ITU-T H.264 (April 2013), incorporated by reference herein, and HEVC is defined in ITU-T, Series H: Audiovisual And Multimedia Systems, Infrastructure of audiovisual services—Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265 (April 2013), also incorporated by reference herein. As used herein, a system or method is considered to comply with “the AVC standard” so long as it complies with any version of that standard. Similarly, a system is considered to comply with “the HEVC standard” so long as it complies with any version of that standard.
The AVC and HEVC standards both accommodate a variety of profiles, each specifying an image resolution, a scanning type (progressive or interlaced) and a refresh rate, among other things. The profiles include one that has been labeled 1080p, which is in common use today as an HDTV transmission format. The 1080p profile specifies a resolution of 1920×1080 pixels progressively scanned. Another profile specified in both standards is one that has been labeled 4K UltraHD, having a resolution of 3840×2160 pixels progressively scanned, with a 60 Hz refresh rate. There is increasing interest in the industry for making 4K UltraHD widely available.
It is technically very challenging to encode 4K UltraHD video live. Whereas encoders are currently available to encode 1080p live, much more extensive processing power is needed for 4K UltraHD video.
One way to handle this challenge is to divide the video signal into “slices” or “tiles” and to use multiple encoders, one for each slice (tile). FIG. 1 shows a picture divided into four slices numbered 1 through 4. Both the AVC and HEVC standards support multiple slice encoding and HEVC also supports multiple tile encoding. As used herein, the term “spatial section” refers to any type of spatial division of a picture, including both slices and tiles. The encoders assigned to handle different spatial sections are sometimes referred to herein as section encoders. The terms “slice” and “tile” have the meanings given to them in the AVC and HEVC standards.
A drawback of multiple slice or multiple tile encoding is that the boundaries between the spatial sections often show compression artifacts. Compression artifacts can arise because each encoder makes its own encoding decisions based on the picture information within its own spatial section. These include decisions related to motion vectors, quantizer indices, deblocking filtering, among others. Since each encoder has different picture information, many encoding decisions will be discontinuous across the boundary, causing the decoded video on either side of the boundary to look different. These differences cause the boundary to be visible as an annoying compression artifact.
A common approach to eliminate these discontinuities is to have the various section encoders share information about their coding decisions near the boundaries. This sharing even can involve sharing many lines of video data, for example to enable motion compensation across section boundaries or to perform in-loop deblocking filtering across the boundaries. This information sharing can require significant bit-rates (many hundreds of Mb/s for 4K UltraHD) and can require very low latency communications. These problems are not limited to 4K UltraHD live video encoding specifically; they apply to any format for which encoding of video at the desired speed is difficult or expensive with then-current technology.